Identifying and exposing item purchase tendencies of users that browse particular items

ABSTRACT

A data mining system generates data values reflecting purchase tendencies of users who browse particular items in an electronic catalog. The data values may include conditional probability values representing, for example, a probability that, if a user makes a purchase after browsing a first particular item, the user will purchase a second particular item. The data values may be used to provide notifications on product pages of an electronic catalog. For example, an item detail page for a first item may be supplemented with a notification of one or more other items that tend to be purchased by those who browse the first item.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 10/864,288, filed Jun. 9, 2004, which claims the benefit of U.S. Provisional Application No. 60/561,776, filed Apr. 12, 2004.

FIELD OF THE INVENTION

The present invention relates to data mining processes for analyzing browse histories of users of an electronic catalog.

BACKGROUND OF THE INVENTION

A variety of technologies exist for collecting and mining user activity data reflective of the actions and preferences of users of an electronic catalog. For example, it is known in the art to collectively analyze the activity data of a population of users to identify items that tend to be viewed, purchased, or otherwise selected in combination. Different types of item relationships may be detected by applying different similarity metrics to the activity data. For instance, a pair of items, A and B, may be identified as likely substitutes because a relatively large number of the users who viewed A also viewed B during the same browsing session. Items C and D, on the other hand, may be identified as complementary because a relatively large number of those who purchased C also purchased D.

The item relationships detected through this process may be exposed to users of the electronic catalog to assist users in identifying items of interest. For example, in some systems, when a user views a catalog item, the user is informed of other items that are commonly viewed (or purchased) by those who have viewed (or purchased) this item. Although this type of data assists the user in identifying a set of candidate items from which to make a selection (e.g., a set of consumer electronics products with similar features), it generally does not help the user discriminate between these candidate items. Thus, the user typically must rely solely on the descriptions of the candidate items, including any user ratings and reviews, in making a purchase decision.

SUMMARY

The present invention comprises data mining methods for analyzing user activity data associated with an electronic catalog of items to generate data for assisting users in making informed item selection decisions. The invention may be embodied within any type of electronic catalog system (web site, online services network, multi-site “mall” system, etc.) in which users can select catalog items to purchase, rent, download, or otherwise acquire.

In one embodiment, a data mining component analyzes the user activity data of a population of users, as collected over a period of time, to generate conditional probability values for specific pairs of items in the electronic catalog. Each conditional probability value preferably indicates, for a given item pair (item A, item B), what percentage of the users who browsed item A and thereafter acquired an item acquired item B. For example, in the context of purchases, the conditional probability value may indicate what percentage of the users who made a purchase after viewing item A purchased item B. Certain types of purchases, such as purchases of items outside the item category of item A and/or purchases made beyond a selected time interval after viewing item A, may be disregarded for purposes of this calculation.

The conditional probability values may be displayed in the catalog in association with specific items to assist users in making informed item selection decisions. For instance, in one embodiment, when a user accesses an item detail page, the user is presented with a list of the following general form: “users who purchased an item after viewing this item bought the following: 4% bought item A, 2% bought this item, and 1.5% bought item B.” Thus, in addition to being informed of other items that are similar or related to the item selected for viewing, the user is provided with data that assists the user in selecting between the various related items. This data allows the user to very efficiently rely on the research conducted, and the ultimate purchase decisions made, by prior users who considered this particular item.

In another embodiment, the user activity data is analyzed to generate conditional probability data for specific sets of items that may be viewed during the course of a browsing session (e.g., the set consisting of items A and B). Once a user views all of the items in such a set, the associated conditional probability data may be presented to the user. For example, if a user selects both item A and item B for viewing during a browsing session, the user may be notified that “users who made a purchase after viewing item A and item B bought the following: 5% bought item B, 2% bought item C, and 1% bought item A.”

Condition probability data may also be generated and presented in other contexts. For example, in one embodiment, a browse node page corresponding to a category of products is augmented with a notification that “user's who made a purchase after accessing this page bought the following items . . . ,” together with associated percentage values. In another embodiment, a user who conducts a search for <search query> is notified that “users who made a purchase after searching for <search query> purchased the following items . . . ,” together with associated percentage values.

Thus, one aspect of the invention is a data mining method that comprises programmatically analyzing user activity data to identify a set of users that acquired an item from an electronic catalog after performing a defined set of one or more browsing actions. The defined set of browsing actions may, for example, be the viewing of a particular item or set of items, the viewing of a particular web page, or the submission of a particular search query. The method further comprises calculating, for at least a first item in the electronic catalog, a percentage of the set of users acquired the first item after performing the defined set of browsing actions. When a user performs the defined set of browsing actions, the user is notified of said percentage of users that selected the first item.

Neither this summary nor the following detailed description purports to define the invention. The invention is defined by the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a web site system according to one embodiment of the invention.

FIG. 2 illustrates a product detail page generated in accordance with one embodiment of the invention.

FIG. 3 illustrates one example of a data mining method that may be used to generate a mapping table of the type shown in FIG. 1.

FIG. 4 illustrates an example search results page in accordance with one embodiment of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Specific embodiments of the invention will now be described with reference to the drawings. These embodiments are intended to illustrate, and not limit, the present invention. For example, although the specific embodiments described herein involve the generation and display of data regarding item purchase events, the invention is also applicable to other types of item acquisition actions, including rentals, licenses and downloads of items.

FIG. 1 illustrates a web site system 30 according to one embodiment of the invention. The web site system 30 includes a web server 32 that generates and serves pages of a host web site to computing devices 35 of end users. The web server 32 provides user access to a catalog of items represented within a database 36. The items preferably include or consist of items that may be purchased via the web site (e.g., consumer electronics products; household appliances; book, music and video titles in physical or downloadable form; magazine and other subscriptions, etc.), and may be arranged within a hierarchy of browse categories. Many thousands or millions of different items may be represented in the database 36. The web site system 30 may, for example, include all of the components and features described in U.S. Patent Pub. No. US 2002/0019763 A1, published Feb. 14, 2002 (“the '763 publication”), the disclosure of which is hereby incorporated by reference.

Detailed information about each item may be obtained by users by accessing the item's detail page within the catalog, which may be located, for example, by conducting a search for the item or by selecting the item from a browse tree listing. Each item detail page preferably provides an option for the user to purchase the item. The web server 32 preferably generates the item detail pages, and other pages of the web site, dynamically using web page templates (not shown).

As illustrated in FIG. 1, the web site system 30 maintains time-stamped item browse histories 38 and item purchase histories 40 of users of the system. The item browse history 38 of a user identifies the items selected by that user for viewing, and indicates the date and time of each such item browse event. In the preferred embodiment, each user access to an item detail page is treated as an item viewing or browsing event. Typically, each access to an item detail page occurs as the result of an affirmative selection of the corresponding item for viewing (e.g., from a search results page or a browse node page). The purchase history 40 of each user identifies all of the items purchased by that user, together with the associated dates of purchase. The item browse and purchase histories 38, 40 of the users may be maintained in any suitable format (web log, user database, event history database, etc.), and may but need not be stored separately from each other and from other types of user activity data.

In some embodiments, the browse and/or purchase histories 38, 40 may include or consist of data obtained from external sources. For example, user activity data may additionally be acquired from third party web site operators, and/or from browser toolbars that report users' browsing activities.

As further illustrated in FIG. 1, a table generation process 44 periodically and collectively analyzes or “mines” the item browse and purchase histories of the users to generate a browse-purchase mapping table 46. Each entry (depicted as a row) of this table 46 maps a reference catalog item to a listing of the catalog items that have been purchased the most frequently, within a selected time period (e.g., one day or one week), by users who have viewed the reference catalog item. A separate table entry may be included for each item in the catalog for which the collected browse and purchase activity data is sufficient to generate meaningful data. As depicted by the example table data in FIG. 1, the list of purchased items for a given reference item may include the reference item itself. The table generation process 44 may be in the form of a program that runs on a general purpose computer, and may be executed periodically in an off-line processing mode.

Each “purchased item” within a given table entry is stored together with a conditional probability value 50 that indicates or reflects the relative frequency with which users who viewed the reference item thereafter (within a selected time period) bought the purchased item. In a preferred embodiment, the conditional probability value 50 for a given browsed item/purchased item pair is calculated by taking the ratio of (a) the number of users who bought the purchased item within the selected time period after viewing the browsed item, and (b) the total number of users who purchased any item within the selected time period after viewing the browsed item. Certain types of purchases may optionally be disregarded for purposes of this calculation, such as some or all of the following: (a) purchases of items falling outside an item category, such as the top-level browse category, of the browsed item; (b) purchases that occur outside a browsing session in which the browsed item is viewed; (c) purchases that occur only after the relevant user had made one or more intervening purchases after viewing the browsed item. Any of a variety of alternative calculations may be used to generate the conditional probability values.

As depicted in FIG. 1, the web server 32 accesses the browse-purchase mapping table 46 in order to supplement item detail pages of the catalog. Specifically, upon receiving a request for the item detail page for a particular catalog item, the web server 32 retrieves, and incorporates into the detail page, all or a portion of the corresponding listing of purchased items, including the associated conditional probability values. This listing may alternatively be retrieved from a cache, or may be included within the static or semi-static content of the item detail page.

FIG. 2 illustrates one example of how this data may be presented on an item detail page. In this example, the user is viewing a web page associated with a particular item (product) falling within the “kitchen and housewares” category of the catalog. The page has been supplemented with a list 60 of the four “kitchen and housewares” items that have been purchased the most frequently (within the selected time period) by users who have viewed the item detail page for this product. The associated conditional probability values 50 are displayed as percentage values. The list 60 of items and associated values 50 is referred to herein as a conditional probability list. (“Conditional probability” refers generally to the probability of an event occurring given that another event, or set of events, has occurred.)

In this particular example, the product that is featured on the item detail page is also included (in bold) in the conditional probability list 60. The other products included in the list 60 are preferably products that are similar or related to the product featured on the detail page, such as products that fall within the same bottom-level product/browse category as the featured item. Thus, in addition to informing the user of possible alternatives to the product selected for viewing, the item detail page provides the user with data regarding the ultimate purchase decisions made by others who have viewed the same item. This data allows the user to very efficiently benefit from the product research conducted by prior users who have viewed this particular product.

Although the conditional probability list 60 is displayed on an item detail page in this example, the list 60 may alternatively be presented to the user elsewhere, such as in a pop-up window or in a browser toolbar display area. In addition, although the conditional probability values 50 are displayed numerically in this example, they may alternatively be presented graphically (e.g., within a bar chart or pie chart, via color coding or shading, using icons, etc.).

As will be apparent, conditional probability data of the type shown in FIG. 2 may also be generated, and presented contextually, for other types of pages of the electronic catalog. For example, the browse node (category) page for a given item category may be augmented with a conditional probability list 60 of the following form: “users who made a purchase in this item category after viewing this page bought . . . .” The process for generating such a list 60 is substantially the same as described herein, but incorporates activity data regarding visits to browse node pages in place of data regarding visits to item detail pages.

FIG. 3 illustrates an example process (sequence of steps) that may be performed by the table generation process 44 of FIG. 1 to generate the mapping table 46. This process may be repeated periodically (e.g., once a week) to update or regenerate the table 46 so that the table data reflects the most recent set of user activity data. Typically, the table 46 will be generated based on the browse and purchase actions of many thousands or hundreds of thousands of users. For purposes of generating the table and displaying conditional probability data, different versions of a given product or work may be treated as the same item. Examples include hardcover and paperback versions of the same book title, video and DVD versions of the same movie title, CD and tape versions of the same music title, and different releases or editions of a particular product.

In step 66, the browse histories of all users of the system are retrieved, and are used to build a temporary table that maps user/date information to browsed items. This table indicates, for each user and each date, what items were viewed by that user on that date. In a preferred embodiment in which each item has a corresponding detail page in the catalog, a user is treated as having viewed or browsed an item if and only if the user accessed the item's detail page. The invention does not, however, require the use or existence of item detail pages.

In step 68, the purchase histories of all users are retrieved, and are similarly used to generate a temporary table that maps user/date information to purchased items. As mentioned above, histories of other types of acquisition events (item downloads, rental selections, etc.) may additionally or alternatively be used to build this table. The two temporary tables may, but need not, be limited to a particular date range (e.g., the last three months).

In step 70, the temporary tables are used to count, for each browsed item/purchased item pair, how many users bought the purchased item within 0-N days after viewing the browsed item. (To simplify the analysis, a purchase of the purchased item is preferably assumed to have occurred after the viewing of the browsed item if both events occurred on the same day.) The value N defines the selected time interval for purposes of calculating the conditional probability values, and may, for example, be a value such as 1, 10 or infinity. Rather than defining the selected time period in terms of days, the time period may, for example, be defined in terms of hours, minutes. Although not depicted in FIG. 3, the process may exclude from consideration (a) purchases made outside a browsing session in which the browsed item was viewed, and/or (b) purchases that followed an intervening purchase, as mentioned above.

In step 72, the count value generated for each browsed item/purchased item pair is divided by the total number of users that purchased any item within 0-N days after viewing the browsed item. The result of this calculation is the corresponding conditional probability value. Thus, for example, assuming that one thousand users made a purchase 0-N days after viewing item A, and that one hundred of those users purchased item B 0-N days after viewing item A, the conditional probability value 50 for the pair item A/item B would be 100/1000, or 10%, in the embodiment depicted in FIG. 3. As mentioned above, purchases of items falling outside the top-level category of the browsed item may optionally be disregarded for purposes of this calculation.

In step 74, item pairs that are not included within a similar items table 64 (FIG. 1) are optionally filtered out of the results set. The effect of this step is to inhibit or prevent the conditional probability listings 60 from including items that are not closely related to the item featured on the detail page. In a preferred embodiment, the similar items table 64 is generated using the process depicted in FIG. 3B of the '763 publication. Specifically, the similar items table 64 identifies pairs of items that have co-occurred relatively frequently within the session-specific browsing histories of users (e.g., items A and B are related because a relatively large number of the users who viewed item A also viewed item B during the same browsing session). One attribute of this relatedness metric is that the items identified as being related are typically substitutes for each other. Any of a variety of alternative item similarity metrics may be used. In addition, rather than using a similar items table 64, the filtering in step 74 may be performed by retaining only those pairs for which both items fall within the same bottom-level or other item category.

In step 76, the remaining set of “purchased items” for a given “browsed item” are sorted from highest to lowest conditional probability value, and the top M “purchased items” are retained for inclusion within the mapping table 46. Thus, M item pairs are effectively retained, each of which is composed of the browsed item and one of the retained purchased items. M may be a selected integer such as five or ten. Thus, for example, although many different items may have been purchased by users who viewed item A, only those M items that were purchased relatively frequently by users who viewed item A are included within the table entry for item A. In step 0078, the remaining (retained) item pairs and corresponding conditional probability values are stored in the mapping table 46 (FIG. 1). Because the process is fully automated, table entries may be generated, and conditional probability lists 60 may be displayed, for many hundreds of thousands or millions of different catalog items.

The above-described processes may also be used to provide conditional probability data to users who conduct keyword searches. For example, as depicted in FIG. 4, when a user runs a search for “mp3 player,” the search results page may be supplemented with a conditional probability list 60 indicating the frequencies with which users that have purchased a product after searching for “mp3 player” have purchased specific products. To implement this variation, the table generation process 44 may be modified to perform the following steps:

-   -   analyze user activity data reflective of user search activities         to identify the most frequently submitted search queries (e.g.,         the 100,000 most common search queries);     -   for each such search query, identify a set of users that         submitted the search query and then made a purchase, and     -   for each such set of users, calculate, for each of a plurality         of items purchased by one or more users in the set after         submitting the respective search query, what percentage of the         set of users purchased the respective purchased item.

Some or all of the resulting percentages (conditional probability values) may be stored in a mapping table that maps search queries to corresponding lists 60 of purchased items. When a user submits a search query, the list 60 of purchased items associated with that search query, including the associated percentage values 50, may be retrieved from the mapping table and incorporated into the search results page returned to the user. Conditional probability lists 60 may be omitted from search results pages where none of the conditional probability values associated with the query exceeds a particular threshold, such as 1%.

In another embodiment of the invention, the user activity data is analyzed to generate conditional probability data for specific sets of two or more viewed items. This data may be presented to users that view all of the items in the set during the current browsing session. For example, once a user has selected item A and item B for viewing, the user may be notified that “users who made a purchase after viewing item A and item B bought the following: 5% bought item B, 2% bought item C, and 1% bought item A.” To implement this feature, the browse histories of users may be analyzed to identify specific sets of N items that are frequently viewed during the same browsing session, where N may be two, three or four, for example. Once such a set of N items is identified, the users who viewed all N items and then made a purchase are identified. The percentages of these users that bought specific items are then calculated and stored in a look-up table in association with the set of items. As a user browses the catalog, the user's session record (set of viewed items) may be compared to this look-up table to determine whether a match exists.

In yet another embodiment, conditional probability data is generated that reflects the frequencies with which users who purchase a first item also purchase each of a plurality of second items. This data may be displayed on item detail pages in the same manner as described above. For example, the detail page for a particular item may be augmented to display a message of the following form: “users who purchased this item also purchased the following: X% bought item A, Y% bought item B . . . .” The conditional probability data may optionally be calculated so as to take into consideration the order in which the items were purchased. For instance, to generate data to display on the detail page for item A, the conditional probability calculations may be based solely on purchases made after a purchase of item A. The messaging on item A's detail page may then read generally as follows: “User's who made a purchase after buying this item bought the following . . . .”

As mentioned above, the invention is not limited to purchase events, but rather applies to a variety of different types of item acquisition actions. For example, for purposes of the generating conditional probability data, an item may be treated as having been “acquired” by a user if the user has placed an order to rent or purchase the item or, in the case of downloadable items, has initiated a download of the item. In some embodiments, the act of adding an item to an electronic shopping cart or wish list may also be treated as an acquisition of the item.

The invention may also be applied more generally to a wide range of other types of browsing actions and events. Thus, in general, whenever a user performs a particular set of one or more conditioning actions (page views, item views, item purchases, browse node accesses, search query submissions, etc.), the user may be provided with conditional probability data reflective of the frequencies with which users who have performed this set of conditioning events have also (or have thereafter) performed specific predictive events. Each such predictive action may, but need not, correspond to a particular item in an electronic catalog, such that the user is provided with guidance for selecting items from the catalog. Thus, the invention includes a data mining method that comprises programmatically analyzing user activity data to calculate a frequency with which users who have performed a defined predictive action after performing a defined set of one or more conditioning actions have performed the predictive action in association with a first item; when a user performs the set of one or more conditioning actions, the user is notified of said frequency to assist the user in evaluating the first item as a candidate.

As will be apparent, the features and attributes of the specific embodiments disclosed above may be combined in different ways to form additional embodiments, all of which fall within the scope of the present disclosure.

Although this invention has been described in terms of certain preferred embodiments and applications, other embodiments and applications that are apparent to those of ordinary skill in the art, including embodiments which do not provide all of the features and advantages set forth herein, are also within the scope of this invention. Accordingly, the scope of the present invention is intended to be defined only by reference to the appended claims, which are intended to be construed without reference to the incorporated-by-reference materials. 

What is claimed is:
 1. A data mining method, comprising: recording item browsing events and item purchase events of each of a plurality of users of an electronic catalog of items, each item browsing event representing a user access to a description of a catalog item in the electronic catalog, each item purchase event representing a purchase by a user of a catalog item; for an item pair consisting of a first catalog item and a second catalog item, generating a conditional probability value based on the recorded item browsing events and item purchase events, said conditional probability value at least approximately representing a probability that, if a user makes a purchase after browsing the first catalog item, the user will purchase the second catalog item, said conditional probability value generated programmatically by a computer; and generating a notification for presentation on an electronic catalog page corresponding to the first catalog item, said notification identifying the second item, and being based at least partly on the conditional probability value.
 2. The method of claim 1, wherein generating the conditional probability value comprises calculating a ratio of (a) a number of users who purchased the second catalog item after browsing the first catalog item, to (b) a number of users who made a purchase of a catalog item after browsing the first catalog item.
 3. The method of claim 2, wherein calculating said ratio comprises excluding from consideration at least one of the following types of purchases: (1) purchases of items falling outside an item category of the first catalog item; (2) purchases that occur outside a browsing session in which the first catalog item is viewed; (3) purchases that occur after an intervening purchase.
 4. The method of claim 1, wherein generating the conditional probability value comprises calculating a ratio of (a) a number of users who both browsed the first catalog item and purchased the second catalog item, to (b) a number of users who both browsed the first catalog item and made a purchase of any of a plurality of catalog items.
 5. The method of claim 1, wherein the notification includes a representation of the conditional probability value.
 6. A computing system, comprising: a computer data repository that stores item browsing event data and item purchase event data, said item browsing event data reflecting item browsing events of users of an electronic catalog, said item purchase event data reflecting item purchases of users of the electronic catalog; and a computer system comprising computer hardware, said computer system programmed to use the item browsing event data and item purchase event data in combination to generate conditional probability values for respective pairs of catalog items, each pair consisting of a first catalog item and a second catalog item, each conditional probability value at least approximately representing a probability that, if a user who browses the first catalog item makes a purchase, the user will purchase the second catalog item.
 7. The system of claim 6, wherein the computer system is programmed to generate the conditional probability values by a process that comprises calculating a ratio of (a) a number of users who purchased the second catalog item after browsing the first catalog item, to (b) a number of users who made a purchase of a catalog item after browsing the first catalog item.
 8. The system of claim 6, wherein the computer system is programmed to generate the conditional probability values by a process that comprises calculating a ratio of (a) a number of users who both browsed the first catalog item and purchased the second catalog item, to (b) a number of users who both browsed the first catalog item and made a purchase of a catalog item.
 9. The system of claim 6, wherein the computer system is programmed to use the conditional probability values to generate notifications for display on catalog pages of the electronic catalog.
 10. The system of claim 6, wherein the computer system is configured to generate, based at least partly on the conditional probability values, a notification that a particular second catalog item is purchased by users who browse a particular first catalog item; and output the notification for display on a catalog page associated with the particular first catalog item.
 11. The system of claim 11, wherein the notification includes a representation of a corresponding conditional probability value.
 12. The system of claim 6, wherein the computer system is configured to use the conditional probability values to select particular second catalog items to list on catalog pages corresponding to particular first catalog items.
 13. A computer system, comprising: a computer data repository that stores conditional probability values for respective pairs of catalog items, each of said conditional probability values at least approximately representing a probability that, if a user who browses a first particular catalog item makes a purchase, the user will purchase a second particular catalog item, said conditional probability values based on recorded item browsing events and item purchase events of a plurality of users; and a server that uses the conditional probability values to supplement pages of an electronic catalog with notifications regarding purchase tendencies of users who browse particular catalog items, said server comprising computer hardware.
 14. The computer system of claim 13, wherein the notifications include representations of the conditional probability values.
 15. The computer system of claim 13, wherein the computer data repository additionally stores conditional probability values for individual items, each conditional probability value for an individual item at least approximately representing a probability that, if a user who views a particular item user makes a purchase, the user will purchase the particular item, wherein the server additionally uses the conditional probability values for individual items to supplement the pages of the electronic catalog with said notifications.
 16. The computer system of claim 13, wherein the conditional probability values are based solely on purchases made after corresponding item browsing events.
 17. A computer system comprising computer hardware, said computer system configured to implement a process that comprises: generating, based on recorded item browsing events and item purchase events of a plurality of users, a probability value for a pair of catalog items consisting of a first catalog item and a second catalog item, said probability value representing a probability that, if a user who browses the first catalog item makes a purchase, the user will purchase the second catalog item; and providing a representation of the probability value on an electronic catalog page corresponding to the first catalog item to assist users in making item selection decisions.
 18. The computer system of claim 17, wherein generating the probability value comprises calculating a ratio of (a) a number of users who both browsed the first catalog item and purchased the second catalog item, to (b) a number of users who both browsed the first catalog item and made a purchase of a catalog item.
 19. The computer system of claim 17, wherein the computer system is additionally configured to: generate a second probability value representing a likelihood that, if the user who browses the first catalog item makes a purchase, the user will purchase the first catalog item; and provide a representation of the second probability value on the electronic catalog page. 